﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SharpMUD.Framework.ComponentModel;

namespace SharpMUD.Framework.Services.Configuration
{
    public interface IConfigurationProvider : IService
    {
        TServiceConfiguration LoadConfiguration<TService,TServiceConfiguration>()
            where TService : IConfigurableService
            where TServiceConfiguration : IServiceConfiguration<TService>, new();

        void SaveConfiguration<TService, TServiceConfiguration>(TServiceConfiguration serviceConfiguration)
            where TService : IConfigurableService
            where TServiceConfiguration : IServiceConfiguration<TService>, new();
    }
}
